package cn.common.dto;

/**
 * Copyright
 *
 * @Author WuHuang
 * @Date 2022/12/21
 */
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

import io.swagger.annotations.ApiModelProperty;

public class RetryResponseParamDTO<T> {
    @ApiModelProperty(
            value = "优先判断isSucess",
            required = true
    )
    private Boolean isSuccess;
    @ApiModelProperty(
            value = "其次判断该对象是否是httpResult",
            required = true
    )
    private T retryResponseParam;

    public static <T> RetryResponseParamDTOBuilder<T> builder() {
        return new RetryResponseParamDTOBuilder();
    }

    public Boolean getIsSuccess() {
        return this.isSuccess;
    }

    public T getRetryResponseParam() {
        return this.retryResponseParam;
    }

    public void setIsSuccess(final Boolean isSuccess) {
        this.isSuccess = isSuccess;
    }

    public void setRetryResponseParam(final T retryResponseParam) {
        this.retryResponseParam = retryResponseParam;
    }

    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof RetryResponseParamDTO)) {
            return false;
        } else {
            RetryResponseParamDTO<?> other = (RetryResponseParamDTO)o;
            if (!other.canEqual(this)) {
                return false;
            } else {
                Object this$isSuccess = this.getIsSuccess();
                Object other$isSuccess = other.getIsSuccess();
                if (this$isSuccess == null) {
                    if (other$isSuccess != null) {
                        return false;
                    }
                } else if (!this$isSuccess.equals(other$isSuccess)) {
                    return false;
                }

                Object this$retryResponseParam = this.getRetryResponseParam();
                Object other$retryResponseParam = other.getRetryResponseParam();
                if (this$retryResponseParam == null) {
                    if (other$retryResponseParam != null) {
                        return false;
                    }
                } else if (!this$retryResponseParam.equals(other$retryResponseParam)) {
                    return false;
                }

                return true;
            }
        }
    }

    protected boolean canEqual(final Object other) {
        return other instanceof RetryResponseParamDTO;
    }

    public int hashCode() {
        int result = 1;
        Object $isSuccess = this.getIsSuccess();
        result = result * 59 + ($isSuccess == null ? 43 : $isSuccess.hashCode());
        Object $retryResponseParam = this.getRetryResponseParam();
        result = result * 59 + ($retryResponseParam == null ? 43 : $retryResponseParam.hashCode());
        return result;
    }

    public String toString() {
        return "RetryResponseParamDTO(isSuccess=" + this.getIsSuccess() + ", retryResponseParam=" + this.getRetryResponseParam() + ")";
    }

    public RetryResponseParamDTO() {
    }

    public RetryResponseParamDTO(final Boolean isSuccess, final T retryResponseParam) {
        this.isSuccess = isSuccess;
        this.retryResponseParam = retryResponseParam;
    }

    public static class RetryResponseParamDTOBuilder<T> {
        private Boolean isSuccess;
        private T retryResponseParam;

        RetryResponseParamDTOBuilder() {
        }

        public RetryResponseParamDTOBuilder<T> isSuccess(final Boolean isSuccess) {
            this.isSuccess = isSuccess;
            return this;
        }

        public RetryResponseParamDTOBuilder<T> retryResponseParam(final T retryResponseParam) {
            this.retryResponseParam = retryResponseParam;
            return this;
        }

        public RetryResponseParamDTO<T> build() {
            return new RetryResponseParamDTO(this.isSuccess, this.retryResponseParam);
        }

        public String toString() {
            return "RetryResponseParamDTO.RetryResponseParamDTOBuilder(isSuccess=" + this.isSuccess + ", retryResponseParam=" + this.retryResponseParam + ")";
        }
    }
}

